DERS TANITIM BİLGİLERİ


Dersin Adı
Programlamaya Giriş I
Kodu
Yarıyıl
Teori
(saat/hafta)
Uygulama/Lab
(saat/hafta)
Yerel Kredi
AKTS
SE 115
Güz
2
2
3
6
Ön-Koşul(lar)
Yok
Dersin Dili
İngilizce
Dersin Türü
Zorunlu
Dersin Düzeyi
Lisans
Dersin Veriliş Şekli Karma
Dersin Öğretim Yöntem ve Teknikleri Grup çalışması
Problem çözme
Deney / Laboratuvar / Atölye uygulama
Anlatım / Sunum
Dersin Koordinatörü
Öğretim Eleman(lar)ı
Yardımcı(ları)
Dersin Amacı Bu ders yapısal programlamanın temel elemanlarını öğrencilere tanıtacaktır. Kod uygulamalarında Java programlama dili kullanılacaktır. Konular içinde tip kavramı, temel tipler, deyimler, standart fonksiyonlar, giriş/çıkış ifadeleri, kontrol yapıları, seçim ifadeleri, yineleme ifadeleri, fonksiyonlar, programlamada birimsellik, genel ve yerel değişkenler, dinamik değişkenler ve diziler bulunmaktadır.
Öğrenme Çıktıları Bu dersi başarıyla tamamlayabilen öğrenciler;
  • Programlamadaki temel kavramları tanımlayabilecek,
  • Java dilinde programlar yazıp derleyip düzeltebilecek,
  • Java kodlarında kontrol yapılarını (karar ve döngü ifadelerini) kullanabilecek,
  • Java kodlarında fonksiyonları tasarlayabilecek,
  • Java kodlarında dizileri kullanabilecek,
  • Java kodlarında sınıfları tanımlayabilecektir.
Ders Tanımı Bu ders öğrencilere Java programlama dilini kullanarak programlamanın temel kavramlarını öğretir.
Dersin İlişkili Olduğu Sürdürülebilir Kalkınma Amaçları

 



Dersin Kategorisi

Temel Ders
X
Uzmanlık/Alan Dersleri
Destek Dersleri
İletişim ve Yönetim Becerileri Dersleri
Aktarılabilir Beceri Dersleri

 

HAFTALIK KONULAR VE İLGİLİ ÖN HAZIRLIK ÇALIŞMALARI

Hafta Konular Ön Hazırlık
1 Hesaplamaya giriş ve Java programlama diline genel bir bakış. Deitel Üniteler 1 ve 2
2 Algoritmalara giriş Kısım I: algoritma, sözde kod, program kodu, bellek kavramları, akış şemaları ve etkinlik diyagramları; LAB#1.
3 Algoritmalara giriş Kısım II: örnek basit algoritmalar, toplam bulma, ortalama bulma, en küçük bulma, en büyük bulma, bir değer arama, miktar sayma, ikinci en küçük bulma, ikinci en büyük bulma; LAB#2.
4 Java programlamaya giriş: temel veri tipleri, sabitler, değişkenler, ifadeler, deyimler, operatörler, giriş/çıkış ifadeleri, Java sanal makine; LAB#3. Deitel Ünite 2
5 Yapısal program geliştirme Kısım I: ikili cebir kavramları, seçim ifadeleri, if-else, switch-case; LAB#4. Deitel Üniteler 4 ve 5
6 Yapısal program geliştirme Kısım II: yineleme ifadeleri, for, while, do-while, break, continue; LAB#5. Deitel Üniteler 4 ve 5
7 Sınıf, nesne ve metot kavramlarına giriş; LAB#6. Deitel Ünite 3
8 Ara sınav.
9 Metotlar Kısım I: metot tanımlama, metot çağırma, parametreler, argümanlar, dönüş, statik metotlar, Math sınıfının metotları, yerel değişkenler, metot aşırı yükleme. Deitel Üniteler 6
10 Metotlar Kısım II: önceden tanımlanmış metotlar, Java Uygulama Programlama Arayüzü (Java API) paketleri, kapsam kuralları, özyineleme; LAB#7. Deitel Üniteler 6 ve 18
11 Diziler Kısım I: dizi oluşturma, dizi ilkleme, dizileri metotlara geçirme, değer ile geçirmeye karşın referans ile geçirme, çok boyutlu diziler; LAB#8. Deitel Ünite 7
12 Diziler Kısım II: Arrays sınıfının metotları, ArrayList koleksiyon sınıfı; LAB#9. Deitel Ünite 7
13 Genel koleksiyonlar; Sınıf, nesne ve metot kavramlarının tekrarı; LAB#10. Deitel Ünite 3 ve 16
14 Proje materyallerinin teslimi ve proje sunumları.
15 Genel tekrar.
16 -
Ders Kitabı

Java How to Program, 10/e (Early Objects), Global Edition, Paul Deitel Harvey Deitel, Pearson, ISBN13: 9781292018195

Önerilen Okumalar/Materyaller

1. Introduction to Programming Using Java, v.7, David J. Eck, http://math.hws.edu/javanotes/

2. Evan Jones, Adam Marcus, and Eugene Wu. 6.092 Introduction to Programming in Java, January IAP 2010. (Massachusetts Institute of Technology: MIT OpenCourseWare), http://ocw.mit.edu (Accessed). License: Creative Commons BY-NC-SA

3. zyBook Java Early Objects,
Authors:      Roman Lysecky / Professor of Electrical and Computer Engineering / Univ. of Arizona   ;   Adrian Lizarraga / zyBooks / ECE Ph.D., Univ. of Arizona / zyBooks
ISBN: 979-8-203-22747-8

 

DEĞERLENDİRME ÖLÇÜTLERİ

Yarıyıl Aktiviteleri Sayı Katkı Payı %
Katılım
Laboratuvar / Uygulama
1
10
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
Portfolyo
Ödev
Sunum / Jüri Önünde Sunum
Proje
1
20
Seminer/Çalıştay
Sözlü Sınav
Ara Sınav
1
30
Final Sınavı
1
40
Toplam

Yarıyıl İçi Aktivitelerin Başarı Notuna Katkısı
3
60
Yarıyıl Sonu Aktivitelerin Başarı Notuna Katkısı
1
40
Toplam

AKTS / İŞ YÜKÜ TABLOSU

Yarıyıl Aktiviteleri Sayı Süre (Saat) İş Yükü
Teorik Ders Saati
(Sınav haftası dahildir: 16 x teorik ders saati)
16
2
32
Laboratuvar / Uygulama Ders Saati
(Sınav haftası dahildir. 16 x uygulama/lab ders saati)
16
2
Sınıf Dışı Ders Çalışması
14
5
70
Arazi Çalışması
Küçük Sınav / Stüdyo Kritiği
Portfolyo
Ödev
Sunum / Jüri Önünde Sunum
Proje
1
25
Seminer/Çalıştay
Sözlü Sınav
Ara Sınavlar
1
10
Final Sınavı
1
11
    Toplam
180

 

DERSİN ÖĞRENME ÇIKTILARININ PROGRAM YETERLİLİKLERİ İLE İLİŞKİSİ

#
Program Yeterlilikleri / Çıktıları
* Katkı Düzeyi
1
2
3
4
5
1

Matematik, Fen Bilimleri, Bilgisayar Bilimleri ve Yazılım Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, Yazılım Mühendisliği problemlerinde kullanır.

X
2

Karmaşık Yazılım Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular.

X
3

Karmaşık bir yazılım sistemini, süreci veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar, gerçekleştirir, sınar, doğrular, raporlar, ölçer ve bakımını yapar; bu amaçla modern yöntemleri uygular.

X
4

Yazılım Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır.

X
5

Yazılım Mühendisliği problemlerinin incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar.

6

Yazılım Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler.

X
7

Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır.

8

Mühendislik ve Yazılım uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibidir; mühendislik ve yazılım çözümlerinin hukuksal sonuçlarının farkındadır.

9

Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir. 

10

Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir.

11

Bir yabancı dili kullanarak Yazılım Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1)

12

İkinci yabancı dili orta düzeyde kullanır.

13

Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişebilir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Yazılım Mühendisliği alanıyla ilişkilendirir. 

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest